package com.maibow.service.admin;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.maibow.dao.DaoSupport;
import com.maibow.entity.admin.Version;
import com.maibow.util.PageData;

/**
 * 
 * 脉博网络后台管理系统
 * 包名：com.maibow.service.system
 * 文件名：RoleService.java
 * 作者: 吴比(Wubi)
 * 时间：2015年3月27日-下午7:37:46
 * Copyright@ 2015湖南脉博网络科技有限公司-版权所有
 *
 */
@Service("versionService")
public class VersionService {

    @Resource(name = "daoSupport")
    private DaoSupport dao;

    /**
     * 查询版本列表
     * 
     * @return
     * @throws Exception
     */
    public List<Version> listAllVersions() throws Exception {
        return (List<Version>) dao.findForList("VersionMapper.listAllVersions", null);
    }

    public Version findIPHONEVersion(PageData pageData) throws Exception {
        return (Version) dao.findForObject("VersionMapper.findIPHONEVersion", pageData);
    }

    public Version findANDROIDVersion(PageData pageData) throws Exception {
        return (Version) dao.findForObject("VersionMapper.findANDROIDVersion", pageData);
    }

    /**
     * 
     * addVersion(这里用一句话描述这个方法的作用)
     * (这里描述这个方法适用条件 – 可选)
     * 标记：@param version
     * 标记：@throws Exception
     * 返回值：void
     * 作者：吴比(Wubi)
     * 
     * @exception
     * @since 1.0.0
     */
    public void addVersion(Version version) throws Exception {
        dao.save("VersionMapper.insertVersion", version);
    }

    /**
     * 通过id查找
     * findVersionById(这里用一句话描述这个方法的作用)
     * (这里描述这个方法适用条件 – 可选)
     * 标记：@param pageData
     * 标记：@return
     * 标记：@throws Exception
     * 返回值：Version
     * 作者：吴比(Wubi)
     * 
     * @exception
     * @since 1.0.0
     */
    public Version findVersionById(PageData pageData) throws Exception {
        return (Version) dao.findForObject("VersionMapper.findVersionById", pageData);
    }

    /**
     * 
     * editVersion(这里用一句话描述这个方法的作用)
     * (这里描述这个方法适用条件 – 可选)
     * 标记：@param pageData
     * 标记：@return
     * 标记：@throws Exception
     * 返回值：PageData
     * 作者：吴比(Wubi)
     * 
     * @exception
     * @since 1.0.0
     */
    public PageData editVersion(Version version) throws Exception {
        return (PageData) dao.findForObject("VersionMapper.editVersion", version);
    }

    /**
     * 
     * delTp(这里用一句话描述这个方法的作用)
     * (这里描述这个方法适用条件 – 可选)
     * 标记：@param pd
     * 标记：@throws Exception
     * 返回值：void
     * 作者：吴比(Wubi)
     * 
     * @exception
     * @since 1.0.0
     */
    public void delTp(PageData pd) throws Exception {
        dao.update("VersionMapper.delTp", pd);
    }

    /**
     * 
     * queryAppDownloadQuantity(这里用一句话描述这个方法的作用)
     * (这里描述这个方法适用条件 – 可选)
     * 标记：@param pageData
     * 标记：@return
     * 标记：@throws Exception
     * 返回值：PageData
     * 作者：吴比(Wubi)
     * 
     * @exception
     * @since 1.0.0
     */
    public PageData queryAppDownloadQuantity(PageData pageData) throws Exception {
        return (PageData) dao.findForObject("VersionMapper.queryAppDownloadQuantity", pageData);
    }

    /**
     * 
     * queryAppScanQuantity(这里用一句话描述这个方法的作用)
     * (这里描述这个方法适用条件 – 可选)
     * 标记：@param pageData
     * 标记：@return
     * 标记：@throws Exception
     * 返回值：PageData
     * 作者：吴比(Wubi)
     * 
     * @exception
     * @since 1.0.0
     */
    public PageData queryAppScanQuantity(PageData pageData) throws Exception {
        return (PageData) dao.findForObject("VersionMapper.queryAppScanQuantity", pageData);
    }

    /**
     * 
     * insertAppDownloadQuantity(这里用一句话描述这个方法的作用)
     * (这里描述这个方法适用条件 – 可选)
     * 标记：@param pageData
     * 标记：@return
     * 标记：@throws Exception
     * 返回值：Object
     * 作者：吴比(Wubi)
     * 
     * @exception
     * @since 1.0.0
     */
    public Object insertAppDownloadQuantity(PageData pageData) throws Exception {
        return dao.save("VersionMapper.insertAppDownloadQuantity", pageData);
    }

    /**
     * 
     * insertAppScanQuantity(这里用一句话描述这个方法的作用)
     * (这里描述这个方法适用条件 – 可选)
     * 标记：@param pageData
     * 标记：@return
     * 标记：@throws Exception
     * 返回值：Object
     * 作者：吴比(Wubi)
     * 
     * @exception
     * @since 1.0.0
     */
    public Object insertAppScanQuantity(PageData pageData) throws Exception {
        return dao.save("VersionMapper.insertAppScanQuantity", pageData);
    }

    /**
     * 统计下载来源
     * statisticDownloadQuantity(这里用一句话描述这个方法的作用)
     * (这里描述这个方法适用条件 – 可选)
     * 标记：@param pd
     * 标记：@throws Exception
     * 返回值：void
     * 作者：吴比(Wubi)
     * 
     * @exception
     * @since 1.0.0
     */
    public void statisticDownloadQuantity(PageData pd) throws Exception {
        dao.update("VersionMapper.statisticDownloadQuantity", pd);
    }

    /**
     * 
     * statisticScanQuantity(这里用一句话描述这个方法的作用)
     * (这里描述这个方法适用条件 – 可选)
     * 标记：@param pd
     * 标记：@throws Exception
     * 返回值：void
     * 作者：吴比(Wubi)
     * 
     * @exception
     * @since 1.0.0
     */
    public void statisticScanQuantity(PageData pd) throws Exception {
        dao.update("VersionMapper.statisticScanQuantity", pd);
    }
}
